package com.whminwei.edu.api.dc.dto.fspn.school;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 获取校外实训基地信息响应
 *
 * @author zhangjq
 * @since 2024-05-14
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DcExtTrainBaseFspn {

    /**
     * 校外实训基地
     */
    private List<DcExtTrainBase> extTrainBaseList;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class DcInvestRes {
        /**
         * 调研日期
         * yyyy-MM-dd
         */
        private Date date;
        /**
         * 调研评估报告
         * 文件存储路径
         */
        private String reportPath;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class DcExtTrainBase {

        private String ostbId;
        /**
         * 基地编号
         */
        private String baseNo;
        /**
         * 基地名称
         */
        private String baseName;
        /**
         * 依托单位
         * 合作单位ID
         */
        private String companyId;
        /**
         * 基地联系人
         */
        private String personName;
        /**
         * 基地联系方式
         */
        private String personPhone;
        /**
         * 成立日期
         */
        private Date buildingDate;
        /**
         * 合作开始日期
         */
        private Date coopStartTime;
        /**
         * 合作结束日期
         */
        private Date coopEndTime;
        /**
         * 合作协议
         */
        private String coopAgtId;
        /**
         * 合作状态
         */
        private String coopStatus;
        /**
         * 行政区划
         */
        private String adminDiv;
        /**
         * 地址
         */
        private String address;
        /**
         * 考察调研记录
         */
        private List<DcInvestRes> investResList;
        /**
         * 面向专业
         */
        private List<String> majorIds;
    }
}
